HRTEM图像处理丨Strain++高效分析几何相位分析(GPA):从晶格常数算微观应变
今天介绍一个微观应变的分析方法——几何相位分析Geometric phase analysis,简称GPA,注意不是你那个成绩的GPA。GPA的基本思路是这样:如果样品存在一定的微观应变(一定注意是微观应变),那么其晶格常数就应该存在一定的变化,晶格可能会放大缩小或者扭曲等,依靠一定的几何运算就能从TEM的高分辨形貌上定性甚至定量判断微观应变的大小。
相关内容的理论基础在1998年已经发表在超级电镜(Ultramicroscopy)上,是一篇天神级文章,截止2019年6月,Web of Science检索的结果显示被引超过1000次,连接如下:
Hÿtch, M. J., Snoeck, E. & Kilaas, R. Quantitative measurement of displacement and strain fields from HREM micrographs. Ultramicroscopy 74, 131–146 (1998)
来计算GPA吧
当然我们今天不是来讨论怎么从数学上处理GPA的,这太困难也太低效了。我们隆重介绍一款自由开源的软件——Strain++
这个项目的Github主页在这里:http://jjppeters.github.io/Strainpp/
Github的源码在这里:https://github.com/JJPPeters/Strainpp
作者还贴心的提供了64位Windows版的二进制包:https://link.zhihu.com/?target=https%3A//github.com/JJPPeters/Strainpp/releases/download/v1.5/Install_Strain%2B%2B_1.5.exe
注意哦,作者只提供了windows 64位版本,32位的系统不要试了,不能用的。可能是由于GPA这东西,只要图像稍微大一点基本上32位系统就要爆内存了......
废话少说,打开Strain++界面是这个样子的
点File,Open打开你的图片,Strain++ 支持TIFF和dm3格式的TEM数据,注意如果你使用TIFF格式则一定要用灰度图。这里我打开了一个TIFF图,由于是演示我就用带着标尺的数据了,大家到时候一定记得做gpa的图尽量用dm3格式,非要用tiff的话也用没标尺的。因为本质上是图像处理,有标尺会干扰结果。打开图像,左侧显示你的原图,右侧显示该图像的快速傅里叶变化FFT结果。
点Grain,GPA会让你选择遮罩尺寸,一般用最小的g矢量就行(如下图),如果默认识别的g矢量偏离太多,就Manual手动调整一下。图像质量不太差的话一般直接Yes。
注意看左下角提示,会让你选择一个g矢量,这个方向就是应变的x方向
比如这里,我选择的是红点那个g,然后会让决定是否对g进行精修,所谓精修就是找0应变对应的g(我是这么理解的)。根据左侧的图像来看的话,如果图像大体上是光滑的,说明这个g就已经很好了,如果毛毛草草的那种,基本上要么g不合适,要么图像质量调差。注意中间那个突变,这是应变导致的。如果选择精修他会让你选择一个图像区域,以这个区域的对应g作为新的g值,你可以反复多次精修直到自己满意为止。
精修过后,按同样的方法选择第二个g矢量,建议是和第一个g垂直的方向,不然数据处理会很麻烦。第二个g精修过之后会自动开始进行计算,等着就好。等几分钟(和电脑性能还有图像大小相关的)之后,就可以得到这样的结果了。
左起第一个选择框是选择结果的类型,包括晶格变形、应变、旋转等各种数据;第二个是颜色,默认是灰度的,我比较喜欢Jet like的;第三个是颜色标尺,根据情况来定。着重说一下第四个,坐标轴旋转。
你现在看上去的结果虽然很漂亮,但还不是真的结果,你看左侧的xy坐标轴,x是水平的,但是在绝大多数图像中x都不是水平的,这时候我们就要让坐标轴旋转一个角度了。怎么旋转呢?切换到Image选项卡,用你知道的各种工具去量一下你的x和水平方向差了多远就行了。这列推荐一个屏幕量角器(附带各种小工具,应有尽有)
比如我这个,大致错了2.9度,稍微修正一下角度,换个标尺,结果切换到Strain来看看应变。恩看上去还挺不错的,导出图像吧(File,export)或者右键Export。这里的所有图,包括标尺和坐标轴都是可以单独存出来的,一定记得不要漏掉标尺。
推荐阅读